package com.ezandroid.library.network.http.request;

/**
 * An interface for performing requests.
 *
 * @author markmjw
 * @date 2016-04-14
 */
public interface Network {
    /**
     * Performs the specified request.
     *
     * @param request Request to process
     * @return A {@link NetworkResponse} with data and caching metadata; will never be null
     * @throws RequestException on errors
     */
    NetworkResponse execute(Request<?> request) throws RequestException;
}
